What are the elements of a BetterGEDCOM data model, including their precise definitions, uses and scope? What are the relationships to these elements?
What IS And What IS NOT Core To The Initial BG Project Replacing GEDCOM?
Are there elements or aspects that can be codified as part of the concept of a genealogical research workspace that need to be identified and considered part of the next phase of work?
Evidence and Source class of entities
Source Entity
Citation Entity
A citation entity in a computer database is the relation between a source and a piece of evidence or genealogical fact as well as notations such as footnotes, endnotes and the like.
Templates can be used to afford both users and developers maximum flexibility in using the BetterGEDCOM standard's components. This area discussed how templates can be employed in various parts of BetterGEDCOM.
Family, Group and Relationship entities
Family, Group and Relationship entities are similar concepts with often very different meanings
Events are usually thought of as an association between:
1) one or more people
2) at a date/time or over a period of time
3) at a given location or locations
A property, attribute, characteristic and fact are all of the same concept. They ascribe some value of some property to some entity. PACs exist only in so far as they describe some aspect of the state of a real stand-alone object. Hair color is PAC of a person. A date is an PAC of an event. A role player is PAC of an event. An occupation is a PAC of a person. PACs are naturally recursive and can have their own sub-PACs. PACs can have dates associated with them.
Person-Name Elements
This also encompasses the use of different calendar systems.
For example we are are discussing the creation of a data model. Does a data model define classes? Or types?
When one has either a class or type and wants to talk about something that is one of them, is that thing an object, an entity, an element, an item, a record, or what?
In my opinion, for the purposes of BetterGedcom, class and type are synonyms. And entity and object are synonyms. Element is also a synonym, but its use could be confused with an XML element, and since XML is often brought up in the BetterGedcom context it would be better not to use it. Item is just too general a term to embrace. Record is almost a good synonym expect that the term record is usually used to refer to a complete entity in a database. Since most objects/elements/entities/items from a BetterGedcom data model should someday be stored in a database, record seems okay.
But something that argues about using the term record is that BetterGedcom will likely end up with "top level" elements/objects like Persons, Events, Sources, etc., but also with "interior" elements/objects like Names, Dates, Roles, which, though objects in their own right, are only found inside top level elements so would never be database records in their own right.
But I guess it would still be okay to use record as a synonym for the top level objects since they are certainly intended to be used as database records some day.
So I ask again, "What do call them things?" I would propose class for the first, and object or entity for the second, allowing record to be used for the top level entities.
Tom Wetmore
Names
Relationships
Events
Sources
Citations
Media
and sometimes ...Roles
Names
Relationships
Events
Sources
Citations
Media
and sometimes ...Roles
"Data Model" has specific meaning within IT and there are specific terms to go with it.
1. A Data Model defines
(a) "Entity Types" (the things about which we talk).
(b) Attributes (the properties - in non-IT language - of the entities).
(c) Relationships between the entity types.
"Entity" and "Entity Type" are a bit flakey and Entity is sometimes used vice Entity Type, but strictly the overall type is the "Entity Type", and the individuals are the Entities (e.g. "Entity Type" = spaceship, "Entity" = NCC1701E USS Enterprise)
Objects and Classes (in IT speak) belong to Object Oriented work, which is not what we are talking about here. Anyone wishing to write code to produce software to handle BG data might follow an OO approach, but that's their prerogative and need not concern us.
Record tends to be used to refer to the physical files - at this stage (Data Model) we're just doing the theory.
I think we understand that, but for all practical purposes, in almost everybody's minds, entity type (or just type) and class are synonyms, and entity and object (and element and instance and item and record to some) are synonyms. Sounds like you prefer the terms entity types and entities. I can go with that just fine. I just asked the question to provide some stimulus so we would decide!
I'm not sure what all this IT speak is you refer to is. I've been in the IT world (though I always just call it software) for 43 years. Maybe I've developed a bad accent!
And, at least in my mind, we are not just at the data model stage. My mind is circling around all kinds of ideas, file formats, database technologies, container ideas, representation issues, and so on. For me I've been in and out of the data model world for genealogical software for almost 20 years. I would say there is almost no idea about genealogical models, and their realizations I haven't discussed (or implemented!) over the years. I am a proponent of the do it all at once model
Tom Wetmore